Computer-readable recording medium, information processing method, and information processing apparatus

ABSTRACT

A non-transitory computer-readable recording medium stores therein an information processing program that causes a computer to execute a process including: acquiring images photographed with a first angle of view and a second angle of view wider than the first angle of view; specifying a position and an attitude of a camera that photographed the image photographed with the first angle of view based on the image photographed with the second angle of view; stitching a plurality of images photographed with the first angle of view to generate a panoramic image; correcting the position on the generated panoramic image, of the image photographed with the first angle of view based on the specified position and attitude of the camera; and mapping the panoramic image to a three-dimensional model by texture mapping based on the corrected position.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of theprior Japanese Patent Application No. 2016-072795, filed on Mar. 31,2016, the entire contents of which are incorporated herein by reference.

FIELD

The embodiment discussed herein is related to an information processingprogram, an information processing method, and an information processingapparatus.

BACKGROUND

In recent years, although a lot of bridges constructed in the past havedeteriorated, local self-governing bodies who manage bridges have alimited number of workers who examine bridges. Thus, the use of anunmanned aircraft (so-called drone) that flies via radio control toexamine bridges has been proposed. Images photographed using an unmannedaircraft are converted to a panoramic image obtained by stitching aplurality of images, for example, and a bridge is evaluated using thepanoramic image.

Moreover, a technique of performing alignment between an image obtainedby photographing a wall surface of a tunnel and a plurality ofmeasurement points on the wall surface obtained by measuring the wallsurface of the tunnel using a laser scanner using the image and thecoordinate values of the plurality of measurement points and thereflection intensity at the measurement points and drawing the image onan exploded plane of the tunnel is proposed.

-   Patent Document 1: Japanese Laid-open Patent Publication No.    2012-220471-   Patent Document 2: Japanese Laid-open Patent Publication No.    2003-115057-   Patent Document 3: Japanese Laid-open Patent Publication No.    2003-185589

However, in the examination of bridges using an unmanned aircraft, sincea place where the sky is not open such as under a bridge girder is alsoimaged, a global positioning system (GPS) often does not work and it isdifficult to measure a position and an attitude during imaging. Due tothis, even when a panoramic image is generated based on photographedimages and the generated panoramic image is attached to athree-dimensional model of a bridge, it is difficult to attach thepanoramic image with high accuracy due to errors in the position and theattitude of the photographed images.

SUMMARY

According to an aspect of an embodiment, a non-transitorycomputer-readable recording medium stores therein an informationprocessing program that causes a computer to execute a processincluding: acquiring images photographed with a first angle of view anda second angle of view wider than the first angle of view; specifying aposition and an attitude of a camera that photographed the imagephotographed with the first angle of view based on the imagephotographed with the second angle of view; stitching a plurality ofimages photographed with the first angle of view to generate a panoramicimage; correcting the position on the generated panoramic image, of theimage photographed with the first angle of view based on the specifiedposition and attitude of the camera; and mapping the panoramic image toa three-dimensional model by texture mapping based on the correctedposition.

The object and advantages of the invention will be realized and attainedby means of the elements and combinations particularly pointed out inthe claims.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory and arenot restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating an example of a configuration ofan information processing system according to an embodiment;

FIG. 2 is a diagram illustrating an example of a flying device and aphotographed image;

FIG. 3 is a diagram illustrating an example of a first image storageunit;

FIG. 4 is a diagram illustrating an example of a second image storageunit;

FIG. 5 is a diagram illustrating an example of a first position andattitude storage unit;

FIG. 6 is a diagram illustrating an example of a second position andattitude storage unit;

FIG. 7 is a diagram illustrating an example of a conversion parameterstorage unit;

FIG. 8 is a diagram illustrating an example of an intra-panoramic-imageposition information storage unit;

FIG. 9 is a diagram illustrating an example of a reference pointinformation storage unit;

FIG. 10 is a diagram illustrating an example of how a panoramic image isgenerated;

FIG. 11 is a diagram illustrating an example of texture mapping;

FIG. 12 is a diagram illustrating an example of correspondence between areference point on a panoramic image and the surface of athree-dimensional model;

FIG. 13 is a diagram illustrating another example of texture mapping;

FIG. 14 is a flowchart illustrating an example of a mapping processaccording to an embodiment;

FIG. 15 is a flowchart illustrating an example of a reference pointselection process; and

FIG. 16 is a diagram illustrating an example of a computer that executesan information processing program.

DESCRIPTION OF EMBODIMENT

Preferred embodiments of the present invention will be explained withreference to accompanying drawings. The disclosed technology is notlimited to the present embodiment. Moreover, the embodiments describedbelow may be combined appropriately within a range where no conflictoccurs.

FIG. 1 is a block diagram illustrating an example of a configuration ofan information processing system according to an embodiment. Aninformation processing system 1 illustrated in FIG. 1 includes a flyingdevice 10, a controller 20, and an information processing apparatus 100.Although only one flying device 10 and only one controller 20 areillustrated in FIG. 1, the numbers of flying devices 10 and controllers20 are not particularly limited and the information processing system 1may include arbitrary numbers of flying devices 10 and controllers 20.

The flying device 10 is an unmanned aircraft that flies based on anoperation command received from the controller 20. Moreover, the flyingdevice 10 moves along a lower surface of a girder of a bridge which isan example of a structure or a wall surface of a pier, for example, in astate in which wheels for maintaining a distance from these surfaces arein contact with the surfaces. The flying device 10 photographs thesurface of the structure using a first camera having a first angle ofview and a second camera having a second angle of view wider than thefirst angle of view and stores the photographed images in a memory card,for example.

The controller 20 receives a user's operation and transmits an operationcommand to the flying device 10. The controller 20 is a proportionaltransmitter (so-called a propo) used for operating a radio-controlledunmanned aircraft. Moreover, the controller 20 may receive telemetryinformation transmitted from the flying device 10 and display theinformation.

The information processing apparatus 100 reads and acquires thephotographed images stored in the memory card of the flying device 10.That is, the information processing apparatus 100 acquires imagesphotographed with the first angle of view and the second angle of viewwider than the first angle of view. The information processing apparatus100 specifies the position and attitude of a camera that photographedthe image photographed with the first angle of view based on the imagephotographed with the second angle of view. The information processingapparatus 100 generates a panoramic image by stitching a plurality ofimages photographed with the first angle of view. The informationprocessing apparatus 100 corrects the position of the image photographedwith the first angle of view on the generated panoramic image based onthe specified position and attitude of the camera. The informationprocessing apparatus 100 maps the panoramic image onto athree-dimensional model by texture mapping based on the correctedposition of the image photographed with the first angle of view. In thisway, the information processing apparatus 100 can attach high-definitionimages to a three-dimensional model with high accuracy.

Next, a configuration of the flying device 10 will be described. Asillustrated in FIG. 1, the flying device 10 includes a communicationunit 11, a first camera 12, a second camera 13, an input and output unit14, a storage unit 15, and a control unit 16. Moreover, the flyingdevice 10 is a multicopter having two wheels that make contact with thesurface of a structure and a plurality of rotors generating thrust forflight. The flying device 10 can maintain a fixed distance from thesurface of the structure due to the two wheels. The flying device 10 mayinclude various functional units included in an existing computer, suchas, for example, various display devices and various audio outputdevices in addition to the functional units illustrated in FIG. 1.

The communication unit 11 is implemented by a wireless device which usesa frequency band such as 40 MHz, 72 MHz, 73 MHz, or 2.4 GHz, forexample. The communication unit 11 is a communication interface that iswirelessly connected to the controller 20 to communicate informationwith the controller 20. The communication unit 11 receives the operationcommand or the like transmitted from the controller 20 and outputs theoperation command or the like to the control unit 16. Moreover, thecommunication unit 11 transmits the telemetry information or the likeinput from the control unit 16 to the controller 20.

The first camera 12 is provided in a predetermined front-rear directionof the flying device 10, for example, to photograph the surface of thestructure. The first camera 12 photographs images using a complementarymetal oxide semiconductor (CMOS) image sensor or a charge coupled device(CCD) image sensor as an imaging element, for example. The first camera12 photoelectrically converts light received by the imaging element andperforms analog/digital (A/D) conversion to generate images. The firstcamera 12 outputs the generated images to the control unit 16 togetherwith the photographed time. The first camera 12 outputs the photographedimages and the photographed time thereof to the control unit 16 at 3frames/second, for example. The first camera 12 may be fixed in onedirection and may be configured to change its direction.

The second camera 13 is an omnidirectional camera provided above theflying device 10, for example, and photographs the surroundingsincluding the structure. The second camera 13 photographs images using aCMOS image sensor or a CCD image sensor as an imaging element, forexample. The second camera 13 photoelectrically converts light receivedby the imaging element and performs A/D conversion to generate images.The second camera 13 outputs the generated images to the control unit 16together with the photographed time. The second camera 13 outputs thephotographed images and the photographed time thereof to the controlunit 16 at three frames/second, for example. In the followingdescription, the image photographed by the first camera 12 is referredto as a first image and the image photographed by the second camera 13is referred to as a second image.

Here, the flying device 10 and the photographed image will be describedwith reference to FIG. 2. FIG. 2 is a diagram illustrating an example ofthe flying device and the photographed image. As illustrated in FIG. 2,the flying device 10 has the first camera 12 and the second camera 13provided on a main body thereof. A first image 12 a photographed by thefirst camera 12 is an image obtained by photographing the surface of apier at a proximity thereof, for example, and is a high-definition imagein which cracks as small as approximately 0.1 mm, for example, can beidentified. Moreover, the first image 12 a is a 2 K image such as aFull-HD image obtained by photographing a range of approximately 0.8 mby 0.6 m of a pier at a photographing distance of approximately 40 cm,for example. The first image 12 a may be an image of which the number ofpixels is larger such as a 4 K image depending on a photographingdistance.

Since a second image 13 a photographed by the second camera 13 isphotographed by an omnidirectional camera, the second image 13 a is awide-viewing-angle image and is an image which includes an end of thepier at the proximity of the flying device 10, for example. That is, thesecond image 13 a is an image with which the position of the flyingdevice 10 can be estimated based on a feature point of the photographedstructure. Damages such as cracks in a bridge can be examined byvisualizing the damages three-dimensionally. The three-dimensionalvisualization to be used for examination can be realized by attaching apanoramic image obtained by stitching a plurality of first images 12 aso that an entire crack can be seen in a bird's-eye view to athree-dimensional model of a bridge or the like. When a panoramic imageis to be attached to a three-dimensional model, it is needed to estimatethe position of the panoramic image in the three-dimensional model.Thus, the second image 13 a photographed together with the first image12 a is used for estimating the position of the flying device 10.

Returning to FIG. 1, the input and output unit 14 is a memory cardreader/writer (R/W). The input and output unit 14 stores the first imageand the photographed time thereof and the second image and thephotographed time thereof output from the control unit 16 in a memorycard. A SD memory card or the like, for example, can be used as thememory card. Moreover, the input and output unit 14 reads theinformation to be used by the control unit 16, stored in the memory cardand outputs the information to the control unit 16.

The storage unit 15 is implemented by a semiconductor memory elementsuch as a random access memory (RAM) or a flash memory or a storagedevice such as a hard disk or an optical disc, for example. Moreover,the storage unit 15 temporarily stores the images photographed by thefirst and second cameras 12 and 13 and stores information to be used forprocessing by the control unit 16.

The control unit 16 is implemented by a central processing unit (CPU) ora micro processing unit (MPU), for example, in such a way that the CPUor the MPU executes a program stored in an internal storage device usinga RAM as a work area. Moreover, the control unit 16 may be implementedby an integrated circuit such as an application specific integratedcircuit (ASIC) or a field programmable gate array (FPGA), for example.The control unit 16 controls the entire flying device 10.

The control unit 16 controls a rotor or the like (not illustrated) tocontrol the flight of the flying device 10 according to the operationcommand received from the controller 20 via the communication unit 11.Moreover, the control unit 16 transmits telemetry information associatedwith the flight of the flying device 10 to the controller 20 via thecommunication unit 11.

When an image and photographed time are input from the first camera 12,the control unit 16 stores the input image and photographed time in amemory card of the input and output unit 14 as the first image and thephotographed time thereof. Moreover, when an image and photographed timeare input from the second camera 13, the control unit 16 stores theinput image and photographed time in the memory card of the input andoutput unit 14 as the second image and the photographed time thereof.When storage in the memory card of the input and output unit 14 is slow,the control unit 16 may temporarily store the first image and thephotographed time thereof and the second image and the photographed timethereof in the storage unit 15.

Next, a configuration of the information processing apparatus 100 willbe described. As illustrated in FIG. 1, the information processingapparatus 100 includes an input and output unit 110, a display unit 111,an operation unit 112, a storage unit 120, and a control unit 130. Theinformation processing apparatus 100 may include various functionalunits included in an existing computer, such as, for example, variousinput devices and various audio output devices in addition to thefunctional units illustrated in FIG. 1. A stationary personal computercan be used as an example of the information processing apparatus 100.The information processing apparatus 100 is not limited to thestationary personal computer and a portable personal computer may beused as the information processing apparatus 100. Moreover, a tabletterminal, for example, can be also used as the information processingapparatus 100 as the portable terminal in addition to the portablepersonal computer.

The input and output unit 110 is a memory card R/W, for example. Theinput and output unit 110 reads the first image and the photographedtime thereof and the second image and the photographed time thereofstored in the memory card and outputs the same to the control unit 130.Moreover, the input and output unit 110 stores three-dimensional modeldata with texture output from the control unit 130 in the memory card. ASD memory card or the like, for example, can be used as the memory card.

The display unit 111 is a display device for displaying various types ofinformation. The display unit 111 is implemented by a liquid crystaldisplay as a display device, for example. The display unit 111 displaysvarious screens such as a display screen input from the control unit130.

The operation unit 112 is an input device that receives variousoperations from the user of the information processing apparatus 100.The operation unit 112 is implemented by a keyboard, a mouse, or thelike as the input device, for example. The operation unit 112 outputsthe operation input by the user to the control unit 130 as operationinformation. The operation unit 112 may be implemented by a touch panelas the input device, and the display device of the display unit 111 maybe integrated with the input device of the operation unit 112.

The storage unit 120 is implemented by a semiconductor memory elementsuch as a RAM or a flash memory or a storage device such as a hard diskor an optical disc, for example. The storage unit 120 includes athree-dimensional model storage unit 121, a first image storage unit122, a second image storage unit 123, a first position and attitudestorage unit 124, and a second position and attitude storage unit 125.Moreover, the storage unit 120 includes a conversion parameter storageunit 126, an intra-panoramic-image position information storage unit127, a panoramic image storage unit 128, and a reference pointinformation storage unit 129. Furthermore, the storage unit 120 storesinformation to be used for processing by the control unit 130.

The three-dimensional model storage unit 121 stores a three-dimensionalmodel of a photographic target structure (for example, a bridge).Examples of the three-dimensional model which can be used include athree-dimension computer aided design (3D CAD) model used at the time ofdesigning a bridge and a three-dimensional model generated based onthree-dimensional shape data obtained by measuring a bridge using alaser scanner or the like. A three-dimensional model of a photographictarget structure is stored in advance in the three-dimensional modelstorage unit 121 by the user's operation, for example.

The first image storage unit 122 stores the first image photographed bythe first camera 12 of the flying device 10 in correlation with thephotographed time thereof. FIG. 3 is a diagram illustrating an exampleof the first image storage unit. As illustrated in FIG. 3, the firstimage storage unit 122 has items including “photographed time” and“image file”. The first image storage unit 122 stores information as onerecord for each photographed time, for example.

The “photographed time” is information indicating the time at which thefirst image is photographed. The “photographed time” is recorded inmillisecond units, for example so that the photographed time can beidentified when the photographing interval is smaller than one second.The “image file” is information indicating an image file of the firstimage. In the example of FIG. 3, an image file name is illustrated forthe sake of description.

Returning to FIG. 1, the second image storage unit 123 stores the secondimage photographed by the second camera 13 of the flying device 10 incorrelation with the photographed time thereof. FIG. 4 is a diagramillustrating an example of the second image storage unit. As illustratedin FIG. 4, the second image storage unit 123 has items including“photographed time” and “image file”. The second image storage unit 123stores information as one record for each photographed time, forexample.

The “photographed time” is information indicating the time at which thesecond image is photographed. The “photographed time” is recorded inmillisecond units, for example so that the photographed time can beidentified when the photographing interval is smaller than one secondsimilarly to the first image storage unit 122. The “image file” isinformation indicating an image file of the second image. In the exampleof FIG. 4, an image file name is illustrated for the sake ofdescription.

Returning to FIG. 1, the first position and attitude storage unit 124stores the position and attitude of the first camera 12 with which thefirst image is photographed in correlation with the photographed timeand the image file name of the first image. FIG. 5 is a diagramillustrating an example of the first position and attitude storage unit.As illustrated in FIG. 5, the first position and attitude storage unit124 has items including “photographed time,” “image file name,” “firstcamera position and attitude,” and “reliability”. Moreover, the “firstcamera position and attitude” indicates the position and attitude of thefirst camera 12 specified based on the second image and has itemsincluding “X,” “Y,” “Z,” “Roll,” “Pitch,” and “Yaw”. The first positionand attitude storage unit 124 stores information as one record for eachphotographed time, for example.

The “photographed time” is information indicating the time at which thefirst image is photographed. The “image file name” is informationindicating an image file name of the first image stored in the firstimage storage unit 122. “X” is information indicating the X-axisposition of the first camera 12. “Y” is information indicating theY-axis position of the first camera 12. “Z” is information indicatingthe Z-axis position of the first camera 12. “Roll” is informationindicating a roll attitude (rotation in relation to a front-rear axis)of the first camera 12. “Pitch” is information indicating a pitchattitude (rotation in relation to a left-right axis) of the first camera12. “Yaw” is information indicating a yaw attitude (rotation in relationto an up-down axis) of the first camera 12. “Reliability” is informationindicating the reliability of an estimated value of the position andattitude of the first camera 12 based on the feature point of the secondimage photographed by the second camera 13.

Returning to FIG. 1, the second position and attitude storage unit 125stores the position and attitude of the second camera 13 with which thesecond image is photographed in correlation with the photographed timeof the second image. FIG. 6 is a diagram illustrating an example of thesecond position and attitude storage unit. As illustrated in FIG. 6, thesecond position and attitude storage unit 125 has items including“photographed time,” “second camera position and attitude,” and“reliability”. Moreover, the “second camera position and attitude”indicates the position and attitude of the second camera 13 specifiedbased on the second image and has items including “X,” “Y,” “Z,” “Roll,”“Pitch,” and “Yaw”. The second position and attitude storage unit 125stores information as one record for each photographed time, forexample.

The “photographed time” is information indicating the time at which thesecond image is photographed. “X” is information indicating the X-axisposition of the second camera 13. “Y” is information indicating theY-axis position of the second camera 13. “Z” is information indicatingthe Z-axis position of the second camera 13. “Roll” is informationindicating a roll attitude (rotation in relation to a front-rear axis)of the second camera 13. “Pitch” is information indicating a pitchattitude (rotation in relation to a left-right axis) of the secondcamera 13. “Yaw” is information indicating a yaw attitude (rotation inrelation to an up-down axis) of the second camera 13. “Reliability” isinformation indicating the reliability of an estimated value of theposition and attitude of the second camera 13 based on the feature pointof the second image photographed by the second camera 13.

Returning to FIG. 1, the conversion parameter storage unit 126 stores aconversion parameter for converting the position and attitude of thesecond camera 13 to the position and attitude of the first camera 12.FIG. 7 is a diagram illustrating an example of a conversion parameterstorage unit. As illustrated in FIG. 7, the conversion parameter storageunit 126 has items including “X,” “Y,” “Z,” “Roll,” “Pitch,” and “Yaw”.

“X” is information indicating a conversion parameter for the X-axis. “Y”is information indicating a conversion parameter for the Y-axis. “Z” isinformation indicating a conversion parameter for the Z-axis. “Roll” isinformation indicating a conversion parameter for roll. “Pitch” isinformation indicating a conversion parameter for pitch. “Yaw” isinformation indicating a conversion parameter for yaw.

Returning to FIG. 1, the intra-panoramic-image position informationstorage unit 127 stores a central coordinate of each first image in apanoramic image. FIG. 8 is a diagram illustrating an example of theintra-panoramic-image position information storage unit. As illustratedin FIG. 8, the intra-panoramic-image position information storage unit127 has items including “image file name,” “central coordinate of eachfirst image in panoramic image”. The “central coordinate of each firstimage in panoramic image” further has items including “horizontalcoordinate” and “vertical coordinate”.

The “image file name” is information indicating a file name of the firstimage. The “central coordinate of each first image in panoramic image”is information that represents the central coordinate of each firstimage in a panoramic image by a horizontal coordinate and a verticalcoordinate.

Returning to FIG. 1, the panoramic image storage unit 128 stores thegenerated panoramic image. When the structure is a bridge, for example,panoramic images generated for respective surfaces of a pier are stored.

The reference point information storage unit 129 stores a coordinate ina three-dimensional model corresponding to the coordinate of a referencepoint defined in the panoramic image. FIG. 9 is a diagram illustratingan example of the reference point information storage unit. Asillustrated in FIG. 9, the reference point information storage unit 129has items including “coordinate in panoramic image” and“three-dimensional coordinate”. Moreover, the “coordinate in panoramicimage” has items including “horizontal coordinate” and “verticalcoordinate”. The “three-dimensional coordinate” has items including “X,”“Y,” and “Z”.

The “coordinate in panoramic image” is information indicating thehorizontal coordinate and the vertical coordinate of the first imagecorresponding to a reference point defined in the panoramic image. The“coordinate in panoramic image” is represented by the number of pixelsin a horizontal or vertical direction of the panoramic image, forexample. The “three-dimensional coordinate” is information thatrepresents the coordinate in the three-dimensional model correspondingto the coordinate of a reference point defined in the panoramic image byX, Y, and Z-axes. The “three-dimensional coordinate” is represented bythe length (for example, in meter units) in the directions of X, Y, andZ-axes of the three-dimensional model, for example.

Returning to FIG. 1, the control unit 130 is implemented by a CPU or aMPU, for example, in such a way that the CPU or the MPU executes aprogram stored in an internal storage device using a RAM as a work area.Moreover, the control unit 130 may be implemented by an integratedcircuit such as an ASIC or a FPGA, for example. The control unit 130includes an acquisition unit 131, a specifying unit 132, a generatingunit 133, a correction unit 134, and a mapping unit 135, and implementsor executes the function or effect of information processing to bedescribed later. An internal configuration of the control unit 130 isnot limited to the configuration illustrated in FIG. 1 but the controlunit 130 may have another configuration as long as the control unit 130performs information process to be described later.

The acquisition unit 131 receives the first image and the photographedtime thereof and the second image and the photographed time thereof fromthe input and output unit 110. That is, the acquisition unit 131acquires the first image and the photographed time thereof and thesecond image and the photographed time thereof. In other words, theacquisition unit 131 acquires images photographed with the first angleof view and the second angle of view wider than the first angle of view.The acquisition unit 131 stores the acquired first image and thephotographed time thereof in the first image storage unit 122. Moreover,the acquisition unit 131 stores the acquired second image and thephotographed time thereof in the second image storage unit 123.

The specifying unit 132 specifies the position and attitude of the firstcamera 12 with which the first image is photographed based on the secondimage and the photographed time thereof by referring to thethree-dimensional model storage unit 121, the first image storage unit122, and the second image storage unit 123. First, the specifying unit132 estimates the position and attitude of the second camera 13 byexecuting a process of estimating self-position using thethree-dimensional model and the second image, for example. Here, theself-position can be estimated using the technique disclosed, forexample, in Ryuhei TENMOKU, and five others, “Estimation of the User'sPosition for Outdoor Mixed Reality Systems Using 3D Models and a FisheyeCamera,” Proceedings of Image Recognition and Understanding Symposium(MIRU 2007), July, 2007, p. 1011-1016.

Moreover, the specifying unit 132 extracts feature points of the secondimage in relation to the estimated position and attitude of the secondcamera 13 and assigns reliability based on the extracted feature points.That is, the specifying unit 132 generates reliability corresponding toan estimation error. The specifying unit 132 increases the reliabilitywhen the estimation error is small and decreases the reliability whenthe estimation error is large, for example. The reliability is setbetween “0” and “1,” for example, and “1” corresponds to largestreliability and “0” corresponds to smallest reliability. The specifyingunit 132 stores the estimated position and attitude of the second camera13 and the reliability thereof in the second position and attitudestorage unit 125. The reliability is preferably not assigned if theposition estimation accuracy is sufficient even when the reliability isnot used.

Subsequently, the specifying unit 132 specifies the position andattitude of the first camera 12 and the reliability thereof by referringto the first image storage unit 122, the second position and attitudestorage unit 125, and the conversion parameter storage unit 126. Thespecifying unit 132 specifies the photographed time of the second imagewhich is closest to the photographed time of the first image. Thespecifying unit 132 applies the conversion parameters to the positionand attitude of the second camera 13 corresponding to the specifiedphotographed time of the second image and the reliability thereof tospecify the position and attitude of the first camera 12 correspondingto the photographed time of the first image and the reliability thereof.The specifying unit 132 stores the specified position and attitude ofthe first camera 12 and the reliability thereof in the first positionand attitude storage unit 124 in correlation with the photographed timeand the image file name of the first image.

When the specifying unit 132 has finished specifying the position andattitude of the first camera 12 and the reliability thereof, thegenerating unit 133 stitches the first images by referring to the firstimage storage unit 122 to generate a panoramic image. Here, thepanoramic image can be generated using the technique disclosed, forexample, in Matthew Brown and one other, “Automatic Panoramic ImageStitching using Invariant Features”, International Journal of ComputerVision 74:59, 2006. The generating unit 133 stores the generatedpanoramic image in the panoramic image storage unit 128.

Here, how the panoramic image is generated will be described withreference to FIG. 10. FIG. 10 is a diagram illustrating an example ofhow the panoramic image is generated. As illustrated in FIG. 10, thegenerating unit 133 reads a first image group 31 from the first imagestorage unit 122. The generating unit 133 generates a panoramic image 32based on the respective first images of the first image group 31. Thepanoramic image 32 uses such a coordinate that a pixel at the top-leftcorner has a coordinate (horizontal coordinate, vertical coordinate)=(0,0).

The generating unit 133 arranges a first image having the file name“c001.jpg,” for example, at the bottom-left corner of the panoramicimage 32. Moreover, the generating unit 133 arranges a first imagehaving the file name “c002.jpg,” for example, so as to be stitched withthe first image “c001.jpg” in the panoramic image 32. In this manner,the generating unit 133 arranges other first images of the first imagegroup 31 so as to be stitched together. In the example of FIG. 10, thefirst images at the four corners of the panoramic image 32 are“c011.jpg” at the top-left corner, “c021.jpg” at the top-right corner,“c001.jpg” at the bottom-left corner, and “c031.jpg” at the bottom-rightcorner.

The generating unit 133 generates a central coordinate (1000, 6000) ofthe first image “c001.jpg” in the panoramic image 32. Moreover, thegenerating unit 133 acquires a central coordinate (1000, 5800) of thefirst image “c002.jpg” in the panoramic image 32. In this manner, thegenerating unit 133 acquires the central coordinates of the respectivefirst images of the first image group 31. The generating unit 133 storesthe acquired central coordinate in the intra-panoramic-image positioninformation storage unit 127 in correlation with the image file name ofthe first image.

Returning to FIG. 1, when the panoramic image is generated, thecorrection unit 134 selects a reference point to be used when attachingthe panoramic image to a three-dimensional model. The correction unit134 compares the central coordinates on the panoramic image, of thefirst images included in the panoramic image to extract the centralcoordinates of the first images positioned at the edges of the panoramicimage as the reference points. The correction unit 134 may use the firstimages positioned at the four corners of the panoramic image, forexample, as the first images positioned at the edges of the panoramicimage.

Here, the relation between the reference point and the texture mappingwill be described with reference to FIG. 11. FIG. 11 is a diagramillustrating an example of texture mapping. As illustrated in FIG. 11,when the panoramic image 32 is to be attached to a three-dimensionalmodel 33, the panoramic image 32 is corrected so that the respectivecoordinates correspond to each other. The example of FIG. 11 illustratesa case in which the central coordinates of the first images at the fourcorners of the panoramic image 32 are attached to the three-dimensionalmodel 33 as reference points. The central coordinates of the firstimages at the four corners of the panoramic image 32 are centralcoordinates 32 a, 32 b, 32 c, and 32 d. Moreover, the reference pointscorresponding to the central coordinates 32 a, 32 b, 32 c, and 32 d arereference points A, B, C, and D.

The correction unit 134 corrects the positions of the first images onthe panoramic image 32 so that the central coordinates 32 a to 32 d ofthe first images at the four corners of the panoramic image 32 overlapthe coordinates 33 a, 33 b, 33 c, and 33 d corresponding to thereference points A to D in the three-dimensional model 33.

Specifically, the correction unit 134 extracts the smallest and largestvalues of the horizontal coordinate and the smallest and largest valuesof the vertical coordinate among the horizontal coordinates and thevertical coordinates included in the intra-panoramic-image positioninformation by referring to the intra-panoramic-image positioninformation storage unit 127. The correction unit 134 selects thecentral coordinate of the first image of which the central coordinate isclosest to (smallest horizontal coordinate value, largest verticalcoordinate value) as the reference point A.

Similarly, the correction unit 134 selects the central coordinate of thefirst image of which the central coordinate is closest to (largesthorizontal coordinate value, largest vertical coordinate value) as thereference point B. The correction unit 134 selects the centralcoordinate of the first image of which the central coordinate is closestto (smallest horizontal coordinate value, smallest vertical coordinatevalue) as the reference point C. The correction unit 134 selects thecentral coordinate of the first image of which the central coordinate isclosest to (largest horizontal coordinate value, smallest verticalcoordinate value) as the reference point D.

The correction unit 134 acquires the central coordinates correspondingto the respective first images selected as the reference points A to Dand the position and attitude of the first camera 12 by referring to thefirst position and attitude storage unit 124 and theintra-panoramic-image position information storage unit 127. Thecorrection unit 134 corrects the coordinates to be used when attachingthe reference points on the panoramic image to the surface of thethree-dimensional model based on the acquired position and attitude ofthe first camera 12. The correction unit 134 stores thethree-dimensional coordinates of the corrected reference points in thereference point information storage unit 129 in correlation with thecoordinates in the panoramic image.

That is, the correction unit 134 corrects the position of the firstimage in the panoramic image by correcting the position of the extractedreference point. In other words, the correction unit 134 corrects thepositions and scales of the respective first images in the panoramicimage based on the positions of the reference points. The correctionunit 134 may exclude the first images of which the reliability issmaller than a predetermined value (for example, 0.5) from choices usingthe reliability stored in the first position and attitude storage unit124.

Here, how the coordinate to be used when attaching the reference pointon the panoramic image to the surface of the three-dimensional model iscorrected will be described with reference to FIG. 12. FIG. 12 is adiagram illustrating an example of correspondence between the referencepoint on the panoramic image and the surface of the three-dimensionalmodel. In the example of FIG. 12, first, the correction unit 134 readsthe position (xc, yc, zc) and attitude (Roll, Pitch, Yaw) of the firstcamera 12 corresponding to the first image of which a central coordinate34 is the reference point from the first position and attitude storageunit 124. The correction unit 134 calculates a direction vector (ex, ey,ez) indicating a direction 35 of the first camera 12 from the attitude(Roll, Pitch, Yaw).

The correction unit 134 determines whether a straight line representedby Equation (1) below, corresponding to the direction vector (ex, ey,ez) that passes through the position (xc, yc, zc) crosses each surfacethat forms the three-dimensional model 33.

$\begin{matrix}{\begin{pmatrix}X \\Y \\Z\end{pmatrix} = {\begin{pmatrix}{xc} \\{yc} \\{zc}\end{pmatrix} + {{t\begin{pmatrix}{ex} \\{ey} \\{ez}\end{pmatrix}}*\left( {t > 0} \right)}}} & (1)\end{matrix}$

The correction unit 134 sets a point (that is, a point at which t inEquation (1) is minimized) closest to the position (xc, yc, zc) amongthe intersections between the surfaces and the straight line representedby Equation (1) to a position of the reference point on thethree-dimensional model. That is, the correction unit 134 calculates apoint 37 on a surface 36 of the three-dimensional model 33 as theposition on the three-dimensional model, of the central coordinate 34which is the reference point.

Returning to FIG. 1, the mapping unit 135 maps the panoramic image ontothe three-dimensional model by texture mapping when the coordinates ofthe reference points in the panoramic image and the three-dimensionalmodel are stored in the reference point information storage unit 129.The mapping unit 135 reads the three-dimensional model from thethree-dimensional model storage unit 121. Moreover, the mapping unit 135reads the panoramic image from the panoramic image storage unit 128.Moreover, the mapping unit 135 maps the panoramic image onto thethree-dimensional model by texture mapping by referring to the referencepoint information storage unit 129 based on the coordinate in thepanoramic image and the three-dimensional coordinate of the referencepoint. The mapping unit 135 displays the three-dimensional model withtexture to which the panoramic image is attached on the display unit111. Moreover, the mapping unit 135 stores three-dimensional model datawith texture in the memory card via the input and output unit 110.

Here, texture mapping will be described with reference to FIG. 13. FIG.13 is a diagram illustrating another example of texture mapping. Asillustrated in FIG. 13, the mapping unit 135 maps the reference pointsof the four corners of the panoramic image 32 (that is, the centralcoordinates 32 a to 32 d of the first image) so as to correspond to thecoordinates 33 a to 33 d corresponding to the reference points of thethree-dimensional model 33. In the example of FIG. 13, the centralcoordinate 32 a of the first image “c011.jpg” has a coordinate (1000,1000) in the panoramic image. The mapping unit 135 maps the centralcoordinate 32 a so as to correspond to the coordinate 33 a correspondingto the reference point of the three-dimensional model 33 by referring tothe reference point information storage unit 129 since the coordinate(1000, 1000) in the panoramic image corresponds to the three-dimensionalcoordinate (0.5, 0, 6.5). The mapping unit 135 maps the centralcoordinates 32 b to 32 d of the other four corners in the same manner.In this manner, the mapping unit 135 can map the panoramic image 32 ontothe three-dimensional model 33.

Next, the operation of the information processing system 1 of theembodiment will be described. FIG. 14 is a flowchart illustrating anexample of a mapping process according to the embodiment.

When the image and the photographed time thereof are input from thefirst camera 12, the control unit 16 of the flying device 10 stores theinput image and photographed time in the memory card of the input andoutput unit 14 as the first image and the photographed time thereof.Moreover, when an image and photographed time are input from the secondcamera 13, the control unit 16 stores the input image and photographedtime in the memory card of the input and output unit 14 as the secondimage and the photographed time thereof.

The acquisition unit 131 of the information processing apparatus 100acquires the first image and the photographed time thereof and thesecond image and the photographed time thereof (step S1). Theacquisition unit 131 stores the acquired first image and thephotographed time thereof in the first image storage unit 122. Moreover,the acquisition unit 131 stores the acquired second image and thephotographed time thereof in the second image storage unit 123.

The specifying unit 132 estimates the position and attitude of thesecond camera 13 by executing a process of estimating the self-positionusing the three-dimensional model and the second image by referring tothe three-dimensional model storage unit 121 and the second imagestorage unit 123. Moreover, the specifying unit 132 extracts the featurepoints of the second image with respect to the estimated position andattitude of the second camera 13 and assigns reliability based on theextracted feature points. The specifying unit 132 stores the estimatedposition and attitude of the second camera 13 and the reliabilitythereof in the second position and attitude storage unit 125.

Subsequently, the specifying unit 132 specifies the position andattitude of the first camera 12 and the reliability thereof by referringto the first image storage unit 122, the second position and attitudestorage unit 125, and the conversion parameter storage unit 126 (stepS2). The specifying unit 132 stores the specified position and attitudeof the first camera 12 and the reliability thereof in the first positionand attitude storage unit 124 in correlation with the photographed timeand the image file name of the first image.

When the specifying unit 132 has finished specifying the position andattitude of the first camera 12 and the reliability thereof, thegenerating unit 133 stitches the first images by referring to the firstimage storage unit 122 to generate a panoramic image (step S3). Thegenerating unit 133 stores the generated panoramic image in thepanoramic image storage unit 128.

When the panoramic image is generated, the correction unit 134 executesa reference point selection process of selecting the reference point tobe used when attaching the panoramic image to the three-dimensionalmodel (step S4). Here, the reference point selection process will bedescribed with reference to FIG. 15. FIG. 15 is a flowchart illustratingan example of the reference point selection process.

The correction unit 134 extracts the smallest and largest values of thehorizontal coordinate and the smallest and largest values of thevertical coordinate among the horizontal coordinates and the verticalcoordinates included in the intra-panoramic-image position informationby referring to the intra-panoramic-image position information storageunit 127 (step S41). The correction unit 134 selects the centralcoordinate of the first image of which the central coordinate is closestto (smallest horizontal coordinate value, largest vertical coordinatevalue) as the reference point A (step S42).

The correction unit 134 selects the central coordinate of the firstimage of which the central coordinate is closest to (largest horizontalcoordinate value, largest vertical coordinate value) as the referencepoint B (step S43). The correction unit 134 selects the centralcoordinate of the first image of which the central coordinate is closestto (smallest horizontal coordinate value, smallest vertical coordinatevalue) as the reference point C (step S44). The correction unit 134selects the central coordinate of the first image of which the centralcoordinate is closest to (largest horizontal coordinate value, smallestvertical coordinate value) as the reference point D (step S45). When thereference points A to D are selected, the correction unit 134 ends thereference point selection process and returns to the original process.In this way, the correction unit 134 can select the reference points intexture mapping.

Returning to FIG. 14, the correction unit 134 acquires the centralcoordinates corresponding to the respective first images selected as thereference points A to D and the position and attitude of the firstcamera 12 by referring to the first position and attitude storage unit124 and the intra-panoramic-image position information storage unit 127.The correction unit 134 corrects the position of the first image in thepanoramic image by correcting the position of the reference point basedon the acquired position and attitude of the first camera 12 (step S5).The correction unit 134 stores the three-dimensional coordinates of thecorrected reference points in the reference point information storageunit 129 in correlation with the coordinates in the panoramic image.

When the coordinates of the reference points in the panoramic image andthe three-dimensional model are stored in the reference pointinformation storage unit 129, the mapping unit 135 maps the panoramicimage onto the three-dimensional model by texture mapping (step S6). Themapping unit 135 displays the three-dimensional model with texture towhich the panoramic image is attached on the display unit 111. In thisway, the information processing apparatus 100 can attach high-definitionimages to the three-dimensional model with high accuracy. Moreover,since the information processing apparatus 100 can estimate the positionusing images photographed by an omnidirectional camera, it is possibleto acquire the photographed images using the flying device 10 of whichthe loading amount is limited. Moreover, since reliability is used forposition estimation and the position information having low estimationaccuracy is excluded, the information processing apparatus 100 canprevent misalignment of the position of the panoramic image (that is,texture).

In this manner, the information processing apparatus 100 acquires imagesphotographed with the first angle of view and the second angle of viewwider than the first angle of view. Moreover, the information processingapparatus 100 specifies the position and attitude of a camera thatphotographed the image photographed with the first angle of view basedon the image photographed with the second angle of view. Furthermore,the information processing apparatus 100 generates a panoramic image bystitching a plurality of images photographed with the first angle ofview. Furthermore, the information processing apparatus 100 corrects theposition of the image photographed with the first angle of view on thegenerated panoramic image based on the specified position and attitudeof the camera. Furthermore, the information processing apparatus 100maps the panoramic image onto the three-dimensional model by texturemapping based on the corrected position. As a result, it is possible toattach high-definition images to the three-dimensional model with highaccuracy.

The information processing apparatus 100 compares the centralcoordinates on the panoramic image, of the images photographed with thefirst angle of view, included in the panoramic image to extract thecentral coordinates of the images photographed with the first angle ofview, positioned at the edges of the panoramic image as the referencepoints. Furthermore, the information processing apparatus 100 correctsthe positions of the extracted reference points. As a result, it ispossible to attach high-definition images to the three-dimensional modelwith high accuracy.

Moreover, the information processing apparatus 100 extracts featurepoints of the image photographed with the second angle of view andassigns reliability based on the extracted feature points to thespecified position and attitude of the camera. Furthermore, theinformation processing apparatus 100 compares the central coordinates onthe panoramic image, of the images photographed with the first angle ofview, included in the panoramic image to extract the central coordinatesof the images photographed with the first angle of view as the referencepoints based on the assigned reliability. Furthermore, the informationprocessing apparatus 100 corrects the positions of the extractedreference points. As a result, since the position information having lowestimation accuracy is excluded, it is possible to prevent misalignmentof the position of texture.

The information processing apparatus 100 extracts the centralcoordinates of the images photographed with the first angle of view,positioned at the four corners of the panoramic image as the referencepoints and corrects the positions of the extracted reference points. Asa result, it is possible to attach high-definition images to thethree-dimensional model with high accuracy.

In the embodiment described above, although the first and second imagesare photographed using the flying device 10, the present invention isnot limited to this. For example, the first and second cameras 12 and 13may be provided at the end of a telescopic pole so as to photograph thefirst and second images while extending and retracting the pole.

In the embodiment described above, although the flying device 10 storesthe first image and the photographed time thereof and the second imageand the photographed time thereof in the memory card, the presentinvention is not limited to this. For example, the flying device 10 andthe information processing apparatus 100 may be connected via radiocommunication and the first image and the photographed time thereof andthe second image and the photographed time thereof may be transmittedfrom the flying device 10 to the information processing apparatus 100.In this way, it is possible to more quickly obtain the three-dimensionalmodel to which the photographed image of the surface of the structure isattached.

In the embodiment described above, although a bridge having flatsurfaces has been described as an example of the photographic targetstructure, the present invention is not limited to this. For example,geometric correction may be performed on a curved surface of a bridgehaving a columnar pier to attach photographed images.

In the embodiment described above, although a vertical surface has beendescribed as an example of a surface of the photographic targetstructure, the present invention is not limited to this. For example,the present invention can be applied to a horizontal surface such as agirder of a bridge or a floorboard.

The components of each unit illustrated in the drawings do not alwaysneed to be physically configured in the manner illustrated in thedrawings. In other words, specific forms of distribution and integrationof the components are not limited to those illustrated in the drawings,and all or part of the components may be functionally or physicallydistributed or integrated in arbitrary units depending on various loadsor use conditions. For example, the correction unit 134 and the mappingunit 135 may be integrated. Moreover, the illustrated respectiveprocesses are not limited to the order described above, but may beperformed simultaneously within a range where the processing contents donot conflict and may be performed in different orders.

Various processing functions performed by each device may be implementedby a CPU (or a microcomputer, such as a MPU or a micro controller unit(MCU)) so that the CPU executes all or any part of the functions.Moreover, various processing functions may be implemented by a programanalyzed and executed by the CPU (or a microcomputer such as an MPU oran MCU) or hardware using wired logic so that the CPU or the hardwareexecutes all or any part of the functions.

Various processes described in the above-described embodiment may berealized by a computer executing a predetermined program. Therefore, anexample of a computer that executes a program having the same functionsas the above-described embodiment will be described. FIG. 16 is adiagram illustrating an example of a computer that executes aninformation processing program.

As illustrated in FIG. 16, a computer 200 includes a CPU 201 thatexecutes various arithmetic processes, an input device 202 that receivesdata input, and a monitor 203. The computer 200 further includes amedium reading device 204 that reads a program or the like from astorage medium, an interface device 205 for connecting to variousdevices, and a communication device 206 for connecting to anotherinformation processing apparatus or the like via cables or wirelessly.The computer 200 further includes a RAM 207 that temporarily storesvarious items of information and a hard disk device 208. The devices 201to 208 are connected to a bus 209.

The hard disk device 208 stores an information processing program havingthe same functions as the processing units including the acquisitionunit 131, the specifying unit 132, the generating unit 133, thecorrection unit 134, and the mapping unit 135 illustrated in FIG. 1. Thehard disk device 208 further stores the three-dimensional model storageunit 121, the first image storage unit 122, the second image storageunit 123, the first position and attitude storage unit 124, and thesecond position and attitude storage unit 125. The hard disk device 208further stores various items of data for implementing the conversionparameter storage unit 126, the intra-panoramic-image positioninformation storage unit 127, the panoramic image storage unit 128, thereference point information storage unit 129, and the informationprocessing program. The input device 202 receives the input of variousitems of information such as operation information from the user of thecomputer 200, for example. The monitor 203 displays various screens suchas an output screen to the user of the computer 200, for example. Themedium reading device 204 reads the first image and the photographedtime thereof and the second image and the photographed time thereof froma storage medium such as a memory card. The interface device 205 isconnected to a printing device or the like, for example. Thecommunication device 206 is connected to a network (not illustrated),for example, to exchange various items of information with anotherinformation processing apparatus.

The CPU 201 reads programs stored in the hard disk device 208, loads theprograms into the RAM 207, and executes the programs to perform variousprocesses. These programs allow the computer 200 to function as theacquisition unit 131, the specifying unit 132, the generating unit 133,the correction unit 134, and the mapping unit 135 illustrated in FIG. 1.

The information processing program does not always need to be stored inthe hard disk device 208. For example, the computer 200 may read andexecute a program stored in a storage medium readable by the computer200. Examples of the storage medium readable by the computer 200 includea portable recording medium such as a CD-ROM, a DVD disc, or a USBmemory, a semiconductor memory such as a flash memory, and a hard diskdrive. Moreover, the information processing program may be stored indevices connected to a public line, the Internet, a LAN, or the like andthe computer 200 may read the information processing program from thedevices and execute the information processing program.

High-definition images can be attached to a three-dimensional model withhigh accuracy.

All examples and conditional language recited herein are intended forpedagogical purposes of aiding the reader in understanding the inventionand the concepts contributed by the inventor to further the art, and arenot to be construed as limitations to such specifically recited examplesand conditions, nor does the organization of such examples in thespecification relate to a showing of the superiority and inferiority ofthe invention. Although the embodiment of the present invention has beendescribed in detail, it should be understood that the various changes,substitutions, and alterations could be made hereto without departingfrom the spirit and scope of the invention.

What is claimed is:
 1. A non-transitory computer-readable recordingmedium having stored therein an information processing program thatcauses a computer to execute a process comprising: acquiring imagesphotographed with a first angle of view and a second angle of view widerthan the first angle of view; specifying a position and an attitude of acamera that photographed the image photographed with the first angle ofview based on the image photographed with the second angle of view;stitching a plurality of images photographed with the first angle ofview to generate a panoramic image; correcting the position on thegenerated panoramic image, of the image photographed with the firstangle of view based on the specified position and attitude of thecamera; and mapping the panoramic image to a three-dimensional model bytexture mapping based on the corrected position.
 2. The non-transitorycomputer-readable recording medium according to claim 1, wherein thecorrecting involves comparing central coordinates on the panoramicimage, of the images photographed with the first angle of view, includedin the panoramic image to extract the central coordinates of the imagesphotographed with the first angle of view, positioned at edges of thepanoramic image as reference points and correcting positions of theextracted reference points.
 3. The non-transitory computer-readablerecording medium according to claim 1, wherein the specifying involvesextracting feature points of the image photographed with the secondangle of view and assigning reliability based on the extracted featurepoints to the specified position and attitude of the camera, and thecorrecting involves comparing central coordinates on the panoramicimage, of the images photographed with the first angle of view, includedin the panoramic image to extract the central coordinates of the imagesphotographed with the first angle of view based on the assignedreliability as reference points and correcting positions of theextracted reference points.
 4. The non-transitory computer-readablerecording medium according to claim 2, wherein the correcting involvesextracting central coordinates of the images photographed with the firstangle of view, positioned at four corners of the panoramic image asreference points and correcting positions of the extracted referencepoints.
 5. An information processing method implemented by a computer,the information processing method comprising: acquiring imagesphotographed with a first angle of view and a second angle of view widerthan the first angle of view, using a processor; specifying a positionand an attitude of a camera that photographed the image photographedwith the first angle of view based on the image photographed with thesecond angle of view, using the processor; stitching a plurality ofimages photographed with the first angle of view to generate a panoramicimage, using the processor; correcting the position on the generatedpanoramic image, of the image photographed with the first angle of viewbased on the specified position and attitude of the camera, using theprocessor; and mapping the panoramic image to a three-dimensional modelby texture mapping based on the corrected position, using the processor.6. The information processing method according to claim 5, wherein thecorrecting involves comparing central coordinates on the panoramicimage, of the images photographed with the first angle of view, includedin the panoramic image to extract the central coordinates of the imagesphotographed with the first angle of view, positioned at edges of thepanoramic image as reference points and correcting positions of theextracted reference points.
 7. The information processing methodaccording to claim 5, wherein the specifying involves extracting featurepoints of the image photographed with the second angle of view andassigning reliability based on the extracted feature points to thespecified position and attitude of the camera, and the correctinginvolves comparing central coordinates on the panoramic image, of theimages photographed with the first angle of view, included in thepanoramic image to extract the central coordinates of the imagesphotographed with the first angle of view based on the assignedreliability as reference points and correcting positions of theextracted reference points.
 8. The information processing methodaccording to claim 6, wherein the correcting involves extracting centralcoordinates of the images photographed with the first angle of view,positioned at four corners of the panoramic image as reference pointsand correcting positions of the extracted reference points.
 9. Aninformation processing apparatus comprising: a memory; and a processorcoupled to the memory, wherein the processor executes a processcomprising: acquiring images photographed with a first angle of view anda second angle of view wider than the first angle of view; specifying aposition and an attitude of a camera that photographed the imagephotographed with the first angle of view based on the imagephotographed with the second angle of view; stitching a plurality ofimages photographed with the first angle of view to generate a panoramicimage; correcting the position on the generated panoramic image, of theimage photographed with the first angle of view based on the specifiedposition and attitude of the camera; and mapping the panoramic image toa three-dimensional model by texture mapping based on the correctedposition of the image photographed with the first angle of view.
 10. Theinformation processing apparatus according to claim 9, wherein thecorrecting involves comparing central coordinates on the panoramicimage, of the images photographed with the first angle of view, includedin the panoramic image to extract the central coordinates of the imagesphotographed with the first angle of view, positioned at edges of thepanoramic image as reference points and corrects positions of theextracted reference points.
 11. The information processing apparatusaccording to claim 9, wherein the specifying involves extracting featurepoints of the image photographed with the second angle of view andassigns reliability based on the extracted feature points to thespecified position and attitude of the camera, and the correctinginvolves comparing central coordinates on the panoramic image, of theimages photographed with the first angle of view, included in thepanoramic image to extract the central coordinates of the imagesphotographed with the first angle of view based on the assignedreliability as reference points and corrects positions of the extractedreference points.
 12. The information processing apparatus according toclaim 10, wherein the correcting involves extracting central coordinatesof the images photographed with the first angle of view, positioned atfour corners of the panoramic image as reference points and correctspositions of the extracted reference points.